<?php
namespace app\front\logic;
use app\common\logic\MemberLevelLogic;
use think\facade\Db;

//用户来源操作
class MemberLogic{
	public static $init;
	static function init(){
		if (!isset(self::$init)) {//判断是否以前创建了当前类的实例
            $c = __CLASS__;//获取类名
            self::$init = new static;//如果没有创建，实例化当前类，这里实现类只实例化一次
        }
        return self::$init;//返回类的实例
	}

	//修改账号密码
	function updatePass($info=[]){
		$old_password = trim(input('old_password', ''));
		$new_password = trim(input('new_password', ''));
		if(!$old_password){
			return 133;
		}
		if(!$new_password){
			return 134;
		}
		$dd = Db::name('member')
				->field('id, password, salt')
				->where('id', $info['id'])
				->find();
		if(md5(md5($old_password).$dd['salt'])!=$dd['password']){
			return 135;
		}

		$password = md5(md5($new_password).$dd['salt']);
		$rs = Db::name('member')
			->where('id', $info['id'])
			->update(['password'=>$password]);
		if($rs===false){
			return 136;
		}else{
			return 0;
		}
	}
	//修改用户API KEY
	function updateApiKey($info=[]){
		$api_key = get_chu('15').$info['id'].get_chu('15');
		$rs = Db::name('member')->where('id', $info['id'])->update(['api_key'=>$api_key]);
		if($rs!==false){
			return ['code'=>0,'data'=>['api_key'=>$api_key]];
		}else{
			return ['code'=>166,'data'=>[]];
		}
	}

	function getNextMouthGrade($member_id=0){
		$year = date('Y');
		$mouth = date('m');
		$info = Db::name('member_recharge_year_mouth')
				->where('year', $year)
				->where('mouth', $mouth)
				->where('member_id', $member_id)
				->find();
		if(!$info){
			MemberLevelLogic::init()->levelProcess($member_id);
		}

		$info = Db::name('member_recharge_year_mouth')
				->where('year', $year)
				->where('mouth', $mouth)
				->where('member_id', $member_id)
				->find();
		return ['code'=>0,'data'=>$info];
	}

}